/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package framework11;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.swing.JOptionPane;

/**
 *
 * @author Jito
 */
public class LecturayEscrituraXML {
    File Fichero;
    String nombre = null;
    ObjectInputStream entrada;
    FileInputStream FileXML;
    BufferedInputStream BufFile;
    DataInputStream DataXML;
    String RutaDestino;
    String Atributo1;
    String Atributo2;
    String NombreForm;
    int i = 34;
    String comilla = new Character((char)i).toString();
    String LineaInstrucciones = "<Property name="+comilla+"text"+comilla+" type="+comilla+"java.lang.String"+comilla+" value="+comilla+"Instrucciones"+comilla+"/>"+"\n";
    String LineaEncabezado="<Property name="+comilla+"text"+comilla+" type="+comilla+"java.lang.String"+comilla+" value="+comilla+"Encabezado"+comilla+"/>"+"\n";
    String LineaCampo1="<Property name="+comilla+"text"+comilla+" type="+comilla+"java.lang.String"+comilla+" value="+comilla+"Campo1"+comilla+"/>"+"\n";
    String LineaCampo2="<Property name="+comilla+"text"+comilla+" type="+comilla+"java.lang.String"+comilla+" value="+comilla+"Campo2"+comilla+"/>"+"\n";

    
    public LecturayEscrituraXML(String RutaXML , String RutaDestinoXML,String NombreForm, String At1,String At2){
        Fichero = new File(RutaXML);
        entrada = null;
        FileXML = null;
        BufFile = null;
        DataXML = null;
        this.RutaDestino = RutaDestinoXML;
        this.Atributo1=At1;
        this.Atributo2 = At2;
        this.NombreForm = NombreForm;
        leerXML();
    }
    
    public void leerXML(){
        String EscribirLinea=null;
        try {
            FileXML = new FileInputStream(Fichero);
            BufFile = new BufferedInputStream(FileXML);
            DataXML = new DataInputStream(BufFile);
            int band=0;
            String linea;
            int contpack1 = 0;
            String tipo;
            System.out.print(LineaEncabezado);
            while (DataXML.available() != 0) {
                EscribirLinea=null;
                band=0;
                linea = DataXML.readLine().trim();
                if (!linea.equals("") && !linea.equals("\n")){
                        System.out.println(linea); 
                        if (linea.equals(LineaEncabezado.trim())){
                            EscribirLinea=linea.substring(0,52)+comilla+"Busqueda"+comilla+"/>";
                            EscribirXML(EscribirLinea);
                            band=1;
                            JOptionPane.showMessageDialog(null,EscribirLinea);
                           // System.out.println(linea.substring(0,51)+comilla+"Busqueda"+comilla+"/>");
                        }
                        if (linea.equals(LineaInstrucciones.trim())){
                            EscribirLinea=linea.substring(0,52)+comilla+"Ingrese en los campos para realizar la busqueda"+comilla+"/>";
                            EscribirXML(EscribirLinea);
                            band=1;
                            JOptionPane.showMessageDialog(null,EscribirLinea);
                        }
                        if (linea.equals(LineaCampo1.trim())){
                            EscribirLinea=linea.substring(0,52)+comilla+Atributo1+comilla+"/>";
                            EscribirXML(EscribirLinea);
                            band=1;
                            JOptionPane.showMessageDialog(null,EscribirLinea);
                        }
                        if (linea.equals(LineaCampo2.trim())){
                            EscribirLinea=linea.substring(0,52)+comilla+Atributo2+comilla+"/>";
                            EscribirXML(EscribirLinea);
                            band=1;
                            JOptionPane.showMessageDialog(null,EscribirLinea);
                        }
                        if (band==0){
                            EscribirXML(linea);
                        }
                    }  
                }
                             
            FileXML.close();
            BufFile.close();
            DataXML.close();
            
            } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    private void EscribirXML(String Linea) throws IOException{
         FileWriter archivo = new FileWriter( RutaDestino+"/"+NombreForm+".FORM",true);
         PrintWriter imp = new PrintWriter(archivo);
         
         //imp.append(Linea);
        imp.println(Linea);
         archivo.close();
       //  JOptionPane.showMessageDialog(null, "archivo .Form creado exitosamente");
    }


}
